package com.ruoyi.tongyan.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 科研项目申报对象 t_declaration
 *
 * @author ruoyi
 * @date 2025-04-09
 */
public class TDeclaration extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long declarationId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 项目类型 */
    @Excel(name = "项目类型")
    private String projectType;

    /** 申请人姓名 */
    @Excel(name = "申请人姓名")
    private String applicant;

    /** 申报单位 */
    @Excel(name = "申报单位")
    private String department;

    /** 申报日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申报日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applicationDate;

    /** 项目简介 */
    @Excel(name = "项目简介")
    private String researchContent;

    /** 项目经费 */
    @Excel(name = "项目经费")
    private BigDecimal budget;

    /** 预期成果 */
    @Excel(name = "预期成果")
    private String expectedResults;

    /** 研究团队 */
    private String researchTeam;

    /** 联系方式 */
    private String contactInfo;

    /** 创建时间 */
    private Date createdAt;

    /** 更新时间 */
    private Date updatedAt;

    /** 附件存储路径 */
    private String filePath;

    /** 申报审核状态 */
    @Excel(name = "申报审核状态")
    private String statu;

    public void setDeclarationId(Long declarationId)
    {
        this.declarationId = declarationId;
    }

    public Long getDeclarationId()
    {
        return declarationId;
    }
    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }
    public void setProjectType(String projectType)
    {
        this.projectType = projectType;
    }

    public String getProjectType()
    {
        return projectType;
    }
    public void setApplicant(String applicant)
    {
        this.applicant = applicant;
    }

    public String getApplicant()
    {
        return applicant;
    }
    public void setDepartment(String department)
    {
        this.department = department;
    }

    public String getDepartment()
    {
        return department;
    }
    public void setApplicationDate(Date applicationDate)
    {
        this.applicationDate = applicationDate;
    }

    public Date getApplicationDate()
    {
        return applicationDate;
    }
    public void setResearchContent(String researchContent)
    {
        this.researchContent = researchContent;
    }

    public String getResearchContent()
    {
        return researchContent;
    }
    public void setBudget(BigDecimal budget)
    {
        this.budget = budget;
    }

    public BigDecimal getBudget()
    {
        return budget;
    }
    public void setExpectedResults(String expectedResults)
    {
        this.expectedResults = expectedResults;
    }

    public String getExpectedResults()
    {
        return expectedResults;
    }
    public void setResearchTeam(String researchTeam)
    {
        this.researchTeam = researchTeam;
    }

    public String getResearchTeam()
    {
        return researchTeam;
    }
    public void setContactInfo(String contactInfo)
    {
        this.contactInfo = contactInfo;
    }

    public String getContactInfo()
    {
        return contactInfo;
    }
    public void setCreatedAt(Date createdAt)
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt()
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt)
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt()
    {
        return updatedAt;
    }
    public void setFilePath(String filePath)
    {
        this.filePath = filePath;
    }

    public String getFilePath()
    {
        return filePath;
    }
    public void setStatu(String statu)
    {
        this.statu = statu;
    }

    public String getStatu()
    {
        return statu;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("declarationId", getDeclarationId())
                .append("projectName", getProjectName())
                .append("projectType", getProjectType())
                .append("applicant", getApplicant())
                .append("department", getDepartment())
                .append("applicationDate", getApplicationDate())
                .append("researchContent", getResearchContent())
                .append("budget", getBudget())
                .append("expectedResults", getExpectedResults())
                .append("researchTeam", getResearchTeam())
                .append("contactInfo", getContactInfo())
                .append("createdAt", getCreatedAt())
                .append("updatedAt", getUpdatedAt())
                .append("filePath", getFilePath())
                .append("statu", getStatu())
                .toString();
    }
}
